# HTML <script> Tag

## Example

Write "Hello JavaScript!" with JavaScript:

<script>
document.getElementById("demo").innerHTML = "Hello JavaScript!";
</script>
Try it Yourself »

## Definition and Usage

The <script> tag is used to define a client-side script, such as a JavaScript.

The <script> element either contains scripting statements, or it points to an external script file through the src attribute.

Common uses for JavaScript are image manipulation, form validation, and dynamic changes of content.

## Browser Support

Element |  |  |  |  |
--- | --- | --- | --- | --- | ---
<script> | Yes | Yes | Yes | Yes | Yes

## Tips and Notes

Note: If the "src" attribute is present, the <script> element must be empty.

Tip: Also look at the <noscript> element for users that have disabled scripts in their browser, or have a browser that doesn't support client-side scripting.

Note: There are several ways an external script can be executed:

- If async="async": The script is executed asynchronously with the rest of the page (the script will be executed while the page continues the parsing)
- If async is not present and defer="defer": The script is executed when the page has finished parsing
- If neither async or defer is present: The script is fetched and executed immediately, before the browser continues parsing the page

## Differences Between HTML 4.01 and HTML5

The "type" attribute is required in HTML 4, but optional in HTML5.

The "async" attribute is new in HTML5.

The HTML 4.01 attribute: "xml:space", is not supported in HTML5.

## Differences Between HTML and XHTML

In XHTML, the content inside scripts is declared as #PCDATA (instead of CDATA), which means that entities will be parsed.

This means that in XHTML, all special characters should be encoded, or all content should be wrapped inside a CDATA section:

<script type="text/javascript">
//<![CDATA[
var i = 10;
if (i < 5) {
// some code
}
//]]>
</script>

## Attributes

= New in HTML5.

Attribute | Value | Description
--- | --- | ---
async | async | Specifies that the script is executed asynchronously (only for external scripts)
charset | charset | Specifies the character encoding used in an external script file
defer | defer | Specifies that the script is executed when the page has finished parsing (only for external scripts)
src | URL | Specifies the URL of an external script file
type | media_type | Specifies the media type of the script
xml:space | preserve | Not supported in HTML5. Specifies whether whitespace in code should be preserved

## Global Attributes

The <script> tag also supports the Global Attributes in HTML.

## Related Pages

HTML tutorial: HTML Scripts

HTML DOM reference: Script Object

## Default CSS Settings

Most browsers will display the <script> element with the following default values:

script {
display: none;
}

### WEB HOSTING

UK Reseller Hosting

### WEB BUILDING

FREE Website BUILDER Free HTML5 Templates

### W3SCHOOLS EXAMS

HTML, CSS, JavaScript, PHP, jQuery, XML, and ASP Certifications

### SHARE THIS PAGE

### Color Picker

### HTML/CSS

HTML Tutorial HTML5 Tutorial CSS Tutorial CSS3 Tutorial Bootstrap Tutorial

### JavaScript

JavaScript Tutorial jQuery Tutorial jQuery Mobile Tutorial AngularJS Tutorial AJAX Tutorial JSON Tutorial

### Graphics

Canvas Tutorial SVG Tutorial Google Maps Tutorial

### Server Side

SQL Tutorial PHP Tutorial ASP Tutorial ASP.NET Tutorial VBScript Tutorial AppML Tutorial

### Web

Web Building Web Statistics Web Certification

### XML

XML Tutorial DTD Tutorial Schema Tutorial XML DOM Tutorial XPath Tutorial XSLT Tutorial XQuery Tutorial XSL-FO Tutorial RSS Tutorial WSDL Tutorial

### HTML/CSS

HTML Tag Reference HTML Event Reference HTML Color Reference CSS 1,2,3 Reference Bootstrap Reference

### JavaScript

JavaScript Reference HTML DOM Reference jQuery Reference jQuery Mobile Reference Google Maps Reference

### Server Side

PHP Reference SQL Reference ASP Reference VBScript Reference Razor Reference ASP.NET Reference

### XML

XML DOM Reference XSLT Reference XSL-FO Reference XPath Reference XQuery Reference Schema Reference RSS Reference SVG Reference

### HTML Charsets

HTML Character Sets HTML ASCII HTML ANSI HTML Windows-1252 HTML ISO-8859-1 HTML Symbols HTML UTF-8

### HTML/CSS

HTML Examples CSS Examples

### Browser Scripting

JavaScript Examples HTML DOM Examples jQuery Examples jQuery Mobile Examples AngularJS Examples AJAX Examples

### Server Scripting

PHP Examples ASP Examples VBScript Examples Razor Examples .NET Examples

### XML Languages

XML Examples DTD Examples XML DOM Examples XSL Examples XSLT Examples XPath Examples XQuery Examples Schema Examples RSS Examples SVG Examples